iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0
>model.py
from logging import root
from django.db import models
# Create your models here.
class User_Info(models.Model):
    uid = models.CharField(max_length=50,null=False,default='')         #user_id
    name = models.CharField(max_length=4,blank=True,null=False)       #LINE名字
    team = models.CharField(max_length=50,blank=True,null=False)      #組別
    date= models.CharField(max_length=50,blank=True,null=False)       #簽到時間
    yes_project= models.CharField(max_length=500,blank=True,null=False)    #昨日完成進度 
    tod_project= models.CharField(max_length=500,blank=True,null=False)    #今日規劃進度
    update_project=models.CharField(max_length=500,blank=True,null=False)    #專案更新時間
    root=models.CharField(max_length=1,default=0)   #判斷是否為管理員
    yesterday_temp=models.CharField(max_length=500,default=0)   #昨日暫存
    today_temp=models.CharField(max_length=500,default=0)       #今日暫存
    date_day1=models.CharField(max_length=50,blank=True,null=False)  #七天簽到時間歷史紀錄 day1
    date_day2=models.CharField(max_length=50,blank=True,null=False)  #七天簽到時間歷史紀錄 day2
    date_day3=models.CharField(max_length=50,blank=True,null=False)  #七天簽到時間歷史紀錄 day3
    date_day4=models.CharField(max_length=50,blank=True,null=False)  #七天簽到時間歷史紀錄 day4
    date_day5=models.CharField(max_length=50,blank=True,null=False)  #七天簽到時間歷史紀錄 day5
    date_day6=models.CharField(max_length=50,blank=True,null=False)  #七天簽到時間歷史紀錄 day6
    date_day7=models.CharField(max_length=50,blank=True,null=False)  #七天簽到時間歷史紀錄 day7
    def __str__(self):
        data = dict()
        data={
            'uid':self.uid,
            'name':self.name,
            'team':self.team,
            'date':self.date,
            'yes_project':self.yes_project,
            'tod_project':self.tod_project, 
            'update_project':self.update_project,  
            'root':self.root,
            'yesterday_temp':self.yesterday_temp,
            'today_temp':self.today_temp,
            'date_day1':self.date_day1,
            'date_day2':self.date_day2,
            'date_day3':self.date_day3,
            'date_day4':self.date_day4,
            'date_day5':self.date_day5,
            'date_day6':self.date_day6,
            'date_day7':self.date_day7
        }
        return str(data)

這看起來太嚇人了,對吧?不過不用擔心,我們會解釋這幾行是什麼意思!

所有以 所以與其複制和粘貼同樣的內容,我們可以用 fromimportfrom...... import......

class User_Info(models.Model):- 這行是用來定義我們的模型(這是一個對象

class 是一個特殊的關鍵字,表明我們在定義一個對象。
User_Info是我們模型的一個名字。我們可以給它取另外一個不同的名字(但是我們必須避免使用特殊字符或者空格符)。總是以首字母大寫來作為類名。
models.Model 表明Post是一個Django模型,所以Django知道它應該被保存在數據庫中。
現在我們定義了我們曾經提及到的那些屬性:為了做到那樣我們需要為我們每個字段定義一個類型(它是文本嗎? 是數字? 是日期? 到另一個對象的關聯,比如用戶嗎?)。titletextcreated_datepublished_dateauthor

  • models.CharField - 這是你如何用為數有限的字符來定義一個文本。
  • models.TextField- 這是沒有長度限制的長文本。
  • models.DateTimeField - 這是日期和時間。
  • models.ForeignKey - 這是指向另一個模型的連接。

我們不會對這裡的代碼解釋得面面俱到因為那會花太多時間了。如果你想了解更多有關模型字段以及如何定義除上面描述以外的東西,那你應該去看看Django的官方文檔(


今天的歌曲是 周杰倫-晴天 Sunny Day
https://www.youtube.com/watch?v=DYptgVvkVLQ&list=PLFl6Na2uUoOZBEhBtQ_jeGA4P1V20JvpW&index=22&ab_channel=%E5%91%A8%E6%9D%B0%E5%80%ABJayChou


上一篇
DAY22 時刻表選取組別功能實現
下一篇
DAY24 linebot完結篇
系列文
Line Bot 以python及Django建構30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言